﻿using System;
using MyAlbum.Utility;
using System.Collections.Generic;
using BlogML.Xml;
using MyAlbum.Model;
namespace MyAlbum.Services
{
    public interface IBlogService
    {
        void AddComment(Reply reply);
        string AddPost(PostEntry post, Uri host, IValidationSummary validationSummary);
        void DeleteComment(string postId, string commentId);
        void DeletePost(string postId);
        PostEntry GetPost(string postId);
        IEnumerable<PostEntry> GetPosts(string searchFilter, DateTime? sinceDate, int maxCount);
        IEnumerable<PostEntry> GetPosts(Tag tag, DateTime? sinceDate, int maxCount);
        IEnumerable<PostEntry> GetPosts(int pageIndex, int pageSize, DateTime? sinceDate);
        void UpdateComment(Reply reply);
        void UpdatePost(PostEntry post, IValidationSummary validationSummary);
        List<Tag> GetCategories();
        int CountPosts();
    }
}
